package com.damon.utils;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;

import com.damon.log.WcsLog;
/**
 * sp：包含多种工具类
 * 1、重启java视图界面的客户端的方法
 * @author 风蚕
 *
 */
public class AppUtil{	
	private static WcsLog logger = LogUtil.getLogger(AppUtil.class);
	/**
	 * ps:该方法用于重启客户端
	 * @param jarPath jar包在系统中的全部路径
	 */
    public static void restartApplication(String jarPath)
    {
    	//获取jdk所在bin所在目录
    	//javaBin————C:\Program Files\Java\jre1.8.0_191\bin\java
        final String javaBin = System.getProperty("java.home") 
        		+ File.separator
                + "bin" 
        		+ File.separator 
        		+ "java";
       /*
        *  	使用File类可将路径格式进行一次转化
        *  	如：将————/D:/java/workspace/wcs_printer/target/wcs_printer.jar
        *  		转化为：D:\java\workspace\wcs_printer\target\wcs.jar
        */
        final File currentJar = new File(jarPath);
        if (!currentJar.getName().endsWith(".jar")) {
        	logger.error("非[xxx.jar]类型问价");
        	 return;
        }
           
        /*ps：构造出命令行命令，如：java -jar application.jar*/
        final ArrayList<String> command = new ArrayList<String>();
//        command.add("java");//直接写java也可，因为有环境变量！
        command.add(javaBin);
        command.add("-jar");
        command.add(currentJar.getPath());
        final ProcessBuilder builder = new ProcessBuilder(command);
        try{
            builder.start();
        }
        catch (IOException e){
            e.printStackTrace();
        }
        System.exit(0);//退出程序
    }
}
